<!-- subpkg_archive/list/index.vue -->
<script lang="ts" setup>
import { patientListApi, removePatientApi } from '@/apis/patient'
import type { PatientItem } from '@/types/patient'
import { onShow } from '@dcloudio/uni-app'
import { ref } from 'vue'

  const swipeOptions = ref([
    {
      text: '删除',
      style: {
        backgroundColor: '#dd524d',
        color: '',
        fontSize: '',
      },
    },
  ])
   // 1. 患者列表
   const patinetList = ref<PatientItem[]>([])
  // 家庭档案（患者）列表
  async function getPatientList() {
    // 患者列表接口
    const data = await patientListApi()
    // 渲染接口数据
    patinetList.value = data
  }
  onShow(() => {
    getPatientList()
  })
const onSwipeActionClick = async (id: string, index: number) => {
  await removePatientApi(id)
  patinetList.value.splice(index, 1)
  }
</script>

<template>
  <scroll-page>
    <view class="archive-page">
      <view class="archive-tips">最多可添加6人</view>

      <uni-swipe-action>
        <uni-swipe-action-item v-for="(patient, index) in patinetList" :key="patient.id" :right-options="swipeOptions" @click="onSwipeActionClick(patient.id,index)">
          <view class="archive-card" :class="{ active: patient.defaultFlag }">
            <view class="archive-info">
              <text class="name">{{patient.name}}</text>
              <text class="id-card"> {{ patient.idCard.replace(/^(.{6}).+(.{4})$/, '$1********$2') }}</text>
              <text class="default" v-if="patient.defaultFlag">默认</text>
            </view>
            <view class="archive-info">
              <text class="gender">{{patient.genderValue}}</text>
              <text class="age">{{patient.age}}岁</text>
            </view>
            <navigator hover-class="none" class="edit-link" :url="`/subpkg_archive/form/index?id=${patient.id}`">
              <uni-icons type="icon-edit" size="20" color="#16C2A3" custom-prefix="iconfont" />
            </navigator>
          </view>
        </uni-swipe-action-item>
      </uni-swipe-action>

      <!-- 添加按钮 -->
      <view v-if="patinetList.length < 6" class="archive-card">
        <navigator class="add-link" hover-class="none" url="/subpkg_archive/form/index">
          <uni-icons color="#16C2A3" size="24" type="plusempty" />
          <text class="label">添加患者</text>
        </navigator>
      </view>
    </view>
  </scroll-page>
</template>

<style lang="scss">
  @import './index.scss';
</style>